kind: YandexCloudDiscoveryData
apiVersions:
- apiVersion: deckhouse.io/v1
  openAPISpec:
    x-examples:
    - apiVersion: deckhouse.io/v1
      kind: YandexCloudDiscoveryData
      region: test-region
      routeTableID: route-id
      defaultLbTargetGroupNetworkId: group-id
      internalNetworkIDs: [ "id", "id-2" ]
      zones: [ "zone", "zone-2" ]
      zoneToSubnetIdMap: { "zone": "id", "zone-2": "id-2" }
      shouldAssignPublicIPAddress: true
      natInstanceName: ""
      natInstanceZone: ""
      monitoringAPIKey: ""
    - apiVersion: deckhouse.io/v1
      kind: YandexCloudDiscoveryData
      region: test-region
      routeTableID: route-id
      defaultLbTargetGroupNetworkId: group-id
      internalNetworkIDs: [ "id", "id-2" ]
      zones: [ "zone", "zone-2" ]
      zoneToSubnetIdMap: { "zone": "id", "zone-2": "id-2" }
      shouldAssignPublicIPAddress: true
      natInstanceName: "cluster-nat-instance"
      natInstanceZone: "zone"
      monitoringAPIKey: "api-key"
    type: object
    additionalProperties: false
    required: [apiVersion, kind, region, routeTableID, defaultLbTargetGroupNetworkId, internalNetworkIDs, zones, zoneToSubnetIdMap, shouldAssignPublicIPAddress]
    properties:
      apiVersion:
        type: string
        enum: [deckhouse.io/v1, deckhouse.io/v1alpha1]
      kind:
        type: string
        enum: [YandexCloudDiscoveryData]
      region:
        type: string
        minLength: 1
      routeTableID:
        type: string
        minLength: 1
      defaultLbTargetGroupNetworkId:
        type: string
        minLength: 1
      internalNetworkIDs:
        type: array
        items:
          type: string
          minLength: 1
        minItems: 1
        uniqueItems: true
      zones:
        type: array
        items:
          type: string
          minLength: 1
        minItems: 1
        uniqueItems: true
      zoneToSubnetIdMap:
        type: object
        additionalProperties:
          type: string
          minLength: 1
      shouldAssignPublicIPAddress:
        type: boolean
      natInstanceName:
        type: string
        default: ""
      natInstanceZone:
        type: string
        default: ""
      monitoringAPIKey:
        type: string
        default: ""
